package design.mode.model.factory.abstractfactory.factory;

import design.mode.model.factory.abstractfactory.factory.common.DessertFactory;
import design.mode.model.factory.coffee.Coffee;
import design.mode.model.factory.tiramisu.Dessert;
import design.mode.model.factory.util.BeanUtils;

/**
 * @author ldanniel
 * @description 美式 族类 甜品工厂(生产美式咖啡 和 美式甜品)
 * @date 2023/21/18:32
 * @since jdk11
 */
public class AmericanDessertFactory implements DessertFactory {
    /**
     * 生产美式咖啡
     *
     * @param clazz 类型
     * @return 美式咖啡
     */
    @Override
    public Coffee createCoffee(Class clazz) {
        System.out.println("开始生产 生产美式咖啡");
        return (Coffee) BeanUtils.getBean(clazz);
    }

    /**
     * 生产抹茶慕斯甜品
     *
     * @param clazz 类型
     * @return 抹茶慕斯甜品
     */
    @Override
    public Dessert createDessert(Class clazz) {
        System.out.println("开始生产 生产美式甜品");
        return (Dessert) BeanUtils.getBean(clazz);
    }
}
